home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / program / misc / obrn-a_1.lha / oberon-a / src_upd1.lha / source / oel / ErrorMessages.mod next >
Text File  |  1995-07-26  |  33KB  |  568 lines

  1. <* STANDARD- *> <* MAIN- *> <* INITIALISE- *>
  2.  
  3. MODULE ErrorMessages;
  4. (****************************************************************
  5.  
  6.    This file was created automatically by `FlexCat 1.5'
  7.    Do NOT edit by hand!
  8.    Oberon-A source description C 1994 by Albert Weinert
  9.    Using with Oberon-A Interfaces for AmigaOS Release 3.1
  10.    Modified for Oberon-A 1.5 by Frank Copeland
  11.  
  12.    Application: ErrorMessages
  13.    Language   : "english"
  14.    Version    : 0
  15.    Description: OBERON-A:Catalogs/ErrorMessages.cd
  16.  
  17. ****************************************************************)
  18.  
  19. IMPORT
  20.   lo := Locale, e := Exec, u := Utility, y := SYSTEM;
  21.  
  22. CONST
  23.   builtinlanguage = "english";
  24.   version = 0;
  25.  
  26. CONST
  27.   msgErr0* = 0;
  28.   msgErr1* = 1;
  29.   msgErr2* = 2;
  30.   msgErr3* = 3;
  31.   msgErr4* = 4;
  32.   msgErr5* = 5;
  33.   msgErr9* = 9;
  34.   msgErr10* = 10;
  35.   msgErr12* = 12;
  36.   msgErr13* = 13;
  37.   msgErr14* = 14;
  38.   msgErr15* = 15;
  39.   msgErr16* = 16;
  40.   msgErr17* = 17;
  41.   msgErr18* = 18;
  42.   msgErr19* = 19;
  43.   msgErr20* = 20;
  44.   msgErr22* = 22;
  45.   msgErr23* = 23;
  46.   msgErr24* = 24;
  47.   msgErr25* = 25;
  48.   msgErr26* = 26;
  49.   msgErr27* = 27;
  50.   msgErr28* = 28;
  51.   msgErr29* = 29;
  52.   msgErr33* = 33;
  53.   msgErr34* = 34;
  54.   msgErr38* = 38;
  55.   msgErr40* = 40;
  56.   msgErr43* = 43;
  57.   msgErr45* = 45;
  58.   msgErr46* = 46;
  59.   msgErr47* = 47;
  60.   msgErr48* = 48;
  61.   msgErr49* = 49;
  62.   msgErr50* = 50;
  63.   msgErr51* = 51;
  64.   msgErr52* = 52;
  65.   msgErr53* = 53;
  66.   msgErr54* = 54;
  67.   msgErr55* = 55;
  68.   msgErr56* = 56;
  69.   msgErr57* = 57;
  70.   msgErr58* = 58;
  71.   msgErr59* = 59;
  72.   msgErr60* = 60;
  73.   msgErr61* = 61;
  74.   msgErr62* = 62;
  75.   msgErr63* = 63;
  76.   msgErr64* = 64;
  77.   msgErr65* = 65;
  78.   msgErr66* = 66;
  79.   msgErr67* = 67;
  80.   msgErr68* = 68;
  81.   msgErr81* = 81;
  82.   msgErr82* = 82;
  83.   msgErr83* = 83;
  84.   msgErr84* = 84;
  85.   msgErr85* = 85;
  86.   msgErr86* = 86;
  87.   msgErr87* = 87;
  88.   msgErr91* = 91;
  89.   msgErr92* = 92;
  90.   msgErr93* = 93;
  91.   msgErr94* = 94;
  92.   msgErr95* = 95;
  93.   msgErr96* = 96;
  94.   msgErr97* = 97;
  95.   msgErr98* = 98;
  96.   msgErr100* = 100;
  97.   msgErr101* = 101;
  98.   msgErr102* = 102;
  99.   msgErr103* = 103;
  100.   msgErr104* = 104;
  101.   msgErr105* = 105;
  102.   msgErr106* = 106;
  103.   msgErr107* = 107;
  104.   msgErr108* = 108;
  105.   msgErr109* = 109;
  106.   msgErr110* = 110;
  107.   msgErr111* = 111;
  108.   msgErr112* = 112;
  109.   msgErr113* = 113;
  110.   msgErr114* = 114;
  111.   msgErr115* = 115;
  112.   msgErr116* = 116;
  113.   msgErr117* = 117;
  114.   msgErr118* = 118;
  115.   msgErr119* = 119;
  116.   msgErr120* = 120;
  117.   msgErr121* = 121;
  118.   msgErr122* = 122;
  119.   msgErr123* = 123;
  120.   msgErr124* = 124;
  121.   msgErr125* = 125;
  122.   msgErr126* = 126;
  123.   msgErr127* = 127;
  124.   msgErr129* = 129;
  125.   msgErr130* = 130;
  126.   msgErr131* = 131;
  127.   msgErr132* = 132;
  128.   msgErr150* = 150;
  129.   msgErr151* = 151;
  130.   msgErr152* = 152;
  131.   msgErr153* = 153;
  132.   msgErr155* = 155;
  133.   msgErr156* = 156;
  134.   msgErr157* = 157;
  135.   msgErr202* = 202;
  136.   msgErr203* = 203;
  137.   msgErr205* = 205;
  138.   msgErr209* = 209;
  139.   msgErr212* = 212;
  140.   msgErr214* = 214;
  141.   msgErr215* = 215;
  142.   msgErr216* = 216;
  143.   msgErr219* = 219;
  144.   msgErr221* = 221;
  145.   msgErr224* = 224;
  146.   msgErr226* = 226;
  147.   msgErr227* = 227;
  148.   msgErr228* = 228;
  149.   msgErr229* = 229;
  150.   msgErr230* = 230;
  151.   msgErr231* = 231;
  152.   msgErr233* = 233;
  153.   msgErr234* = 234;
  154.   msgErr235* = 235;
  155.   msgErr236* = 236;
  156.   msgErr300* = 300;
  157.   msgErr301* = 301;
  158.   msgErr302* = 302;
  159.   msgErr303* = 303;
  160.   msgErr304* = 304;
  161.   msgErr305* = 305;
  162.   msgErr306* = 306;
  163.   msgErr307* = 307;
  164.   msgErr308* = 308;
  165.   msgErr310* = 310;
  166.   msgErr311* = 311;
  167.   msgErr312* = 312;
  168.   msgErr313* = 313;
  169.   msgErr314* = 314;
  170.   msgErr315* = 315;
  171.   msgErr316* = 316;
  172.   msgErr317* = 317;
  173.   msgErr318* = 318;
  174.   msgErr319* = 319;
  175.   msgErr320* = 320;
  176.   msgErr322* = 322;
  177.   msgErr323* = 323;
  178.   msgErr324* = 324;
  179.   msgErr325* = 325;
  180.   msgErr326* = 326;
  181.   msgErr327* = 327;
  182.   msgErr328* = 328;
  183.   msgErr329* = 329;
  184.   msgErr330* = 330;
  185.   msgErr331* = 331;
  186.   msgErr332* = 332;
  187.   msgErr333* = 333;
  188.   msgErr334* = 334;
  189.   msgErr335* = 335;
  190.   msgErr336* = 336;
  191.   msgErr337* = 337;
  192.   msgErr338* = 338;
  193.   msgErr339* = 339;
  194.   msgErr340* = 340;
  195.   msgErr341* = 341;
  196.   msgErr342* = 342;
  197.   msgErr343* = 343;
  198.   msgErr344* = 344;
  199.   msgErr345* = 345;
  200.   msgErr346* = 346;
  201.   msgErr347* = 347;
  202.   msgErr348* = 348;
  203.   msgErr349* = 349;
  204.   msgErr350* = 350;
  205.   msgErr351* = 351;
  206.   msgErr352* = 352;
  207.   msgErr353* = 353;
  208.   msgErr354* = 354;
  209.   msgErr355* = 355;
  210.   msgErr356* = 356;
  211.   msgErr357* = 357;
  212.   msgErr358* = 358;
  213.   msgErr359* = 359;
  214.   msgErr900* = 900;
  215.   msgErr901* = 901;
  216.   msgErr902* = 902;
  217.   msgErr903* = 903;
  218.   msgErr904* = 904;
  219.   msgErr905* = 905;
  220.   msgErr906* = 906;
  221.   msgErr907* = 907;
  222.   msgErr915* = 915;
  223.   msgErr916* = 916;
  224.   msgErr917* = 917;
  225.   msgErr918* = 918;
  226.   msgErr919* = 919;
  227.   msgErr920* = 920;
  228.   msgErr922* = 922;
  229.   msgErr923* = 923;
  230.   msgErr924* = 924;
  231.   msgErr950* = 950;
  232.   msgErr951* = 951;
  233.   msgErr952* = 952;
  234.   msgErr953* = 953;
  235.   msgErr954* = 954;
  236.   msgErr955* = 955;
  237.   msgErr956* = 956;
  238.   msgErr957* = 957;
  239.   msgErr958* = 958;
  240.   msgErr959* = 959;
  241.   msgErr960* = 960;
  242.   msgErr961* = 961;
  243.   msgErr962* = 962;
  244.   msgErr963* = 963;
  245.   msgErr964* = 964;
  246.   msgErr965* = 965;
  247.   msgErr966* = 966;
  248.   msgErr967* = 967;
  249.   msgErr1000* = 1000;
  250.   msgErr1001* = 1001;
  251.   msgErr1002* = 1002;
  252.   msgErr1003* = 1003;
  253.   msgErr1004* = 1004;
  254.   msgErr1005* = 1005;
  255.   msgErr1006* = 1006;
  256.   msgErr1007* = 1007;
  257.   msgErr1008* = 1008;
  258.   msgErr1009* = 1009;
  259.   msgErr1010* = 1010;
  260.   msgErr1011* = 1011;
  261.   msgErr1012* = 1012;
  262.   msgErr1013* = 1013;
  263.   msgErr1014* = 1014;
  264.   msgErr1015* = 1015;
  265.   msgErr1016* = 1016;
  266.  
  267. TYPE
  268.   AppString = RECORD;
  269.      id  : LONGINT;
  270.      str : e.LSTRPTR;
  271.   END;
  272.   AppStringArray = ARRAY 239 OF AppString;
  273.  
  274. VAR
  275.   AppStrings : AppStringArray;
  276.   catalog : lo.CatalogPtr;
  277.  
  278.   PROCEDURE SetStrings;
  279.     BEGIN
  280.       AppStrings[0].id := msgErr0; AppStrings[0].str := y.ADR( "Undeclared identifier" );
  281.       AppStrings[1].id := msgErr1; AppStrings[1].str := y.ADR( "Multiply defined identifier" );
  282.       AppStrings[2].id := msgErr2; AppStrings[2].str := y.ADR( "Illegal character in number" );
  283.       AppStrings[3].id := msgErr3; AppStrings[3].str := y.ADR( "Illegal character in string" );
  284.       AppStrings[4].id := msgErr4; AppStrings[4].str := y.ADR( "Identifier does not match procedure name" );
  285.       AppStrings[5].id := msgErr5; AppStrings[5].str := y.ADR( "Comment not closed" );
  286.       AppStrings[6].id := msgErr9; AppStrings[6].str := y.ADR( "\"=\" expected" );
  287.       AppStrings[7].id := msgErr10; AppStrings[7].str := y.ADR( "Identifier expected" );
  288.       AppStrings[8].id := msgErr12; AppStrings[8].str := y.ADR( "Type definition starts with incorrect symbol" );
  289.       AppStrings[9].id := msgErr13; AppStrings[9].str := y.ADR( "Factor starts with incorrect symbol" );
  290.       AppStrings[10].id := msgErr14; AppStrings[10].str := y.ADR( "Statement starts with incorrect symbol" );
  291.       AppStrings[11].id := msgErr15; AppStrings[11].str := y.ADR( "Declaration followed by incorrect symbol" );
  292.       AppStrings[12].id := msgErr16; AppStrings[12].str := y.ADR( "MODULE expected" );
  293.       AppStrings[13].id := msgErr17; AppStrings[13].str := y.ADR( "Integer constant expected" );
  294.       AppStrings[14].id := msgErr18; AppStrings[14].str := y.ADR( "\".\" missing" );
  295.       AppStrings[15].id := msgErr19; AppStrings[15].str := y.ADR( "\",\" missing" );
  296.       AppStrings[16].id := msgErr20; AppStrings[16].str := y.ADR( "\":\" missing" );
  297.       AppStrings[17].id := msgErr22; AppStrings[17].str := y.ADR( "\")\" missing" );
  298.       AppStrings[18].id := msgErr23; AppStrings[18].str := y.ADR( "\"]\" missing" );
  299.       AppStrings[19].id := msgErr24; AppStrings[19].str := y.ADR( "\"}\" missing" );
  300.       AppStrings[20].id := msgErr25; AppStrings[20].str := y.ADR( "OF missing" );
  301.       AppStrings[21].id := msgErr26; AppStrings[21].str := y.ADR( "THEN missing" );
  302.       AppStrings[22].id := msgErr27; AppStrings[22].str := y.ADR( "DO missing" );
  303.       AppStrings[23].id := msgErr28; AppStrings[23].str := y.ADR( "TO missing" );
  304.       AppStrings[24].id := msgErr29; AppStrings[24].str := y.ADR( "\"(\" missing" );
  305.       AppStrings[25].id := msgErr33; AppStrings[25].str := y.ADR( "\":=\" missing" );
  306.       AppStrings[26].id := msgErr34; AppStrings[26].str := y.ADR( "\",\" or OF expected" );
  307.       AppStrings[27].id := msgErr38; AppStrings[27].str := y.ADR( "\";\" missing" );
  308.       AppStrings[28].id := msgErr40; AppStrings[28].str := y.ADR( "END missing" );
  309.       AppStrings[29].id := msgErr43; AppStrings[29].str := y.ADR( "UNTIL missing" );
  310.       AppStrings[30].id := msgErr45; AppStrings[30].str := y.ADR( "EXIT not within loop statement" );
  311.       AppStrings[31].id := msgErr46; AppStrings[31].str := y.ADR( "Object must be global" );
  312.       AppStrings[32].id := msgErr47; AppStrings[32].str := y.ADR( "Illegally marked identifier" );
  313.       AppStrings[33].id := msgErr48; AppStrings[33].str := y.ADR( "Forward declared pointer unsatisfied" );
  314.       AppStrings[34].id := msgErr49; AppStrings[34].str := y.ADR( "Attempting to import self" );
  315.       AppStrings[35].id := msgErr50; AppStrings[35].str := y.ADR( "Expression should be constant" );
  316.       AppStrings[36].id := msgErr51; AppStrings[36].str := y.ADR( "Constant not an integer" );
  317.       AppStrings[37].id := msgErr52; AppStrings[37].str := y.ADR( "Identifier does not denote a type" );
  318.       AppStrings[38].id := msgErr53; AppStrings[38].str := y.ADR( "Identifier does not denote a record type" );
  319.       AppStrings[39].id := msgErr54; AppStrings[39].str := y.ADR( "Result type of procedure is not a basic type" );
  320.       AppStrings[40].id := msgErr55; AppStrings[40].str := y.ADR( "Procedure call of a function" );
  321.       AppStrings[41].id := msgErr56; AppStrings[41].str := y.ADR( "Assignment to non-variable" );
  322.       AppStrings[42].id := msgErr57; AppStrings[42].str := y.ADR( "Pointer not bound to record or array type" );
  323.       AppStrings[43].id := msgErr58; AppStrings[43].str := y.ADR( "Recursive type definition" );
  324.       AppStrings[44].id := msgErr59; AppStrings[44].str := y.ADR( "Illegal open array parameter" );
  325.       AppStrings[45].id := msgErr60; AppStrings[45].str := y.ADR( "Wrong type of case label" );
  326.       AppStrings[46].id := msgErr61; AppStrings[46].str := y.ADR( "Inadmissible type of case label" );
  327.       AppStrings[47].id := msgErr62; AppStrings[47].str := y.ADR( "Case label defined more than once" );
  328.       AppStrings[48].id := msgErr63; AppStrings[48].str := y.ADR( "Index out of bounds" );
  329.       AppStrings[49].id := msgErr64; AppStrings[49].str := y.ADR( "More actual than formal parameters" );
  330.       AppStrings[50].id := msgErr65; AppStrings[50].str := y.ADR( "Fewer actual than formal parameters" );
  331.       AppStrings[51].id := msgErr66; AppStrings[51].str := y.ADR( "Element types of actual array and formal open array differ" );
  332.       AppStrings[52].id := msgErr67; AppStrings[52].str := y.ADR( "Actual parameter corresponding to open array is not an array" );
  333.       AppStrings[53].id := msgErr68; AppStrings[53].str := y.ADR( "Array bound out of range" );
  334.       AppStrings[54].id := msgErr81; AppStrings[54].str := y.ADR( "Index out of specified bounds" );
  335.       AppStrings[55].id := msgErr82; AppStrings[55].str := y.ADR( "Object being indexed is not an array" );
  336.       AppStrings[56].id := msgErr83; AppStrings[56].str := y.ADR( "Undefined record field" );
  337.       AppStrings[57].id := msgErr84; AppStrings[57].str := y.ADR( "Dereferenced variable is not a pointer" );
  338.       AppStrings[58].id := msgErr85; AppStrings[58].str := y.ADR( "Guard or test type is not an extension of variable type" );
  339.       AppStrings[59].id := msgErr86; AppStrings[59].str := y.ADR( "Guard or test type is not a pointer" );
  340.       AppStrings[60].id := msgErr87; AppStrings[60].str := y.ADR( "Guarded or tested variable is neither a pointer nor a VAR-parameter record" );
  341.       AppStrings[61].id := msgErr91; AppStrings[61].str := y.ADR( "x IN y : constant x is out of range (0 <= p < 32)" );
  342.       AppStrings[62].id := msgErr92; AppStrings[62].str := y.ADR( "Operand of IN not an integer, or not a set" );
  343.       AppStrings[63].id := msgErr93; AppStrings[63].str := y.ADR( "Set element type is not an integer" );
  344.       AppStrings[64].id := msgErr94; AppStrings[64].str := y.ADR( "Operand of & is not of type BOOLEAN" );
  345.       AppStrings[65].id := msgErr95; AppStrings[65].str := y.ADR( "Operand of OR is not of type BOOLEAN" );
  346.       AppStrings[66].id := msgErr96; AppStrings[66].str := y.ADR( "Operand not applicable to (unary) +" );
  347.       AppStrings[67].id := msgErr97; AppStrings[67].str := y.ADR( "Operand not applicable to (unary) -" );
  348.       AppStrings[68].id := msgErr98; AppStrings[68].str := y.ADR( "Operand of ~ is not of type BOOLEAN         " );
  349.       AppStrings[69].id := msgErr100; AppStrings[69].str := y.ADR( "Incompatible operands of dyadic operator" );
  350.       AppStrings[70].id := msgErr101; AppStrings[70].str := y.ADR( "Operand type inapplicable to *" );
  351.       AppStrings[71].id := msgErr102; AppStrings[71].str := y.ADR( "Operand type inapplicable to /" );
  352.       AppStrings[72].id := msgErr103; AppStrings[72].str := y.ADR( "Operand type inapplicable to DIV" );
  353.       AppStrings[73].id := msgErr104; AppStrings[73].str := y.ADR( "Operand type inapplicable to MOD" );
  354.       AppStrings[74].id := msgErr105; AppStrings[74].str := y.ADR( "Operand type inapplicable to +" );
  355.       AppStrings[75].id := msgErr106; AppStrings[75].str := y.ADR( "Operand type inapplicable to -" );
  356.       AppStrings[76].id := msgErr107; AppStrings[76].str := y.ADR( "Operand type inapplicable to = or #" );
  357.       AppStrings[77].id := msgErr108; AppStrings[77].str := y.ADR( "Operand type inapplicable to relation      " );
  358.       AppStrings[78].id := msgErr109; AppStrings[78].str := y.ADR( "Arithmetic overflow in constant expression" );
  359.       AppStrings[79].id := msgErr110; AppStrings[79].str := y.ADR( "Operand is not a type" );
  360.       AppStrings[80].id := msgErr111; AppStrings[80].str := y.ADR( "Operand inapplicable to (this) function" );
  361.       AppStrings[81].id := msgErr112; AppStrings[81].str := y.ADR( "Operand is not a variable" );
  362.       AppStrings[82].id := msgErr113; AppStrings[82].str := y.ADR( "Incompatible assignment" );
  363.       AppStrings[83].id := msgErr114; AppStrings[83].str := y.ADR( "String too long to be assigned" );
  364.       AppStrings[84].id := msgErr115; AppStrings[84].str := y.ADR( "Parameter doesn't match" );
  365.       AppStrings[85].id := msgErr116; AppStrings[85].str := y.ADR( "Number of parameters doesn't match" );
  366.       AppStrings[86].id := msgErr117; AppStrings[86].str := y.ADR( "Number of parameters doesn't match" );
  367.       AppStrings[87].id := msgErr118; AppStrings[87].str := y.ADR( "Result type doesn't match" );
  368.       AppStrings[88].id := msgErr119; AppStrings[88].str := y.ADR( "Procedure is not assignable" );
  369.       AppStrings[89].id := msgErr120; AppStrings[89].str := y.ADR( "Type of expression following IF, WHILE, UNTIL, or ASSERT is not BOOLEAN" );
  370.       AppStrings[90].id := msgErr121; AppStrings[90].str := y.ADR( "Called object is not a procedure (or is an interrupt procedure)" );
  371.       AppStrings[91].id := msgErr122; AppStrings[91].str := y.ADR( "Actual VAR-parameter is not a variable" );
  372.       AppStrings[92].id := msgErr123; AppStrings[92].str := y.ADR( "Type of actual parameter is not identical with that of formal VAR-parameter" );
  373.       AppStrings[93].id := msgErr124; AppStrings[93].str := y.ADR( "Type of result expression differs from that of procedure" );
  374.       AppStrings[94].id := msgErr125; AppStrings[94].str := y.ADR( "Type of case expression is neither INTEGER nor CHAR" );
  375.       AppStrings[95].id := msgErr126; AppStrings[95].str := y.ADR( "Illegal mode of operand" );
  376.       AppStrings[96].id := msgErr127; AppStrings[96].str := y.ADR( "Illegal mode of addressed operand" );
  377.       AppStrings[97].id := msgErr129; AppStrings[97].str := y.ADR( "Forward declared procedure not implemented" );
  378.       AppStrings[98].id := msgErr130; AppStrings[98].str := y.ADR( "WITH clause does not specify a variable" );
  379.       AppStrings[99].id := msgErr131; AppStrings[99].str := y.ADR( "LEN not applied to array" );
  380.       AppStrings[100].id := msgErr132; AppStrings[100].str := y.ADR( "Dimension in LEN too large or negative" );
  381.       AppStrings[101].id := msgErr150; AppStrings[101].str := y.ADR( "Key inconsistency of imported module" );
  382.       AppStrings[102].id := msgErr151; AppStrings[102].str := y.ADR( "Incorrect symbol file" );
  383.       AppStrings[103].id := msgErr152; AppStrings[103].str := y.ADR( "Symbol file of imported module not found" );
  384.       AppStrings[104].id := msgErr153; AppStrings[104].str := y.ADR( "Object or symbol file not opened (disk full?)" );
  385.       AppStrings[105].id := msgErr155; AppStrings[105].str := y.ADR( "Generation of new symbol file not allowed" );
  386.       AppStrings[106].id := msgErr156; AppStrings[106].str := y.ADR( "String in symbol file" );
  387.       AppStrings[107].id := msgErr157; AppStrings[107].str := y.ADR( "Symbol file tag illegal" );
  388.       AppStrings[108].id := msgErr202; AppStrings[108].str := y.ADR( "Set element greater than MAX(SET) or less than 0" );
  389.       AppStrings[109].id := msgErr203; AppStrings[109].str := y.ADR( "Number too large" );
  390.       AppStrings[110].id := msgErr205; AppStrings[110].str := y.ADR( "Division by zero" );
  391.       AppStrings[111].id := msgErr209; AppStrings[111].str := y.ADR( "Too much variable space needed" );
  392.       AppStrings[112].id := msgErr212; AppStrings[112].str := y.ADR( "Buffer for identifiers and strings full" );
  393.       AppStrings[113].id := msgErr214; AppStrings[113].str := y.ADR( "Too many exit statements" );
  394.       AppStrings[114].id := msgErr215; AppStrings[114].str := y.ADR( "Not enough registers: simplify expression" );
  395.       AppStrings[115].id := msgErr216; AppStrings[115].str := y.ADR( "Object is not a register item" );
  396.       AppStrings[116].id := msgErr219; AppStrings[116].str := y.ADR( "Illegal value of parameter  (0 <= p < 15)" );
  397.       AppStrings[117].id := msgErr221; AppStrings[117].str := y.ADR( "String cannot be exported / too many pointers in a record" );
  398.       AppStrings[118].id := msgErr224; AppStrings[118].str := y.ADR( "Too many pointer types" );
  399.       AppStrings[119].id := msgErr226; AppStrings[119].str := y.ADR( "Too many exported procedures" );
  400.       AppStrings[120].id := msgErr227; AppStrings[120].str := y.ADR( "Too many imported modules" );
  401.       AppStrings[121].id := msgErr228; AppStrings[121].str := y.ADR( "Too many exported structures" );
  402.       AppStrings[122].id := msgErr229; AppStrings[122].str := y.ADR( "Too many nested records for import" );
  403.       AppStrings[123].id := msgErr230; AppStrings[123].str := y.ADR( "Too many constants (strings) in module" );
  404.       AppStrings[124].id := msgErr231; AppStrings[124].str := y.ADR( "Code buffer overflow" );
  405.       AppStrings[125].id := msgErr233; AppStrings[125].str := y.ADR( "Type descriptor buffer overflow" );
  406.       AppStrings[126].id := msgErr234; AppStrings[126].str := y.ADR( "Too many external libraries" );
  407.       AppStrings[127].id := msgErr235; AppStrings[127].str := y.ADR( "Global variables not accessable" );
  408.       AppStrings[128].id := msgErr236; AppStrings[128].str := y.ADR( "Type extension is too deep (max 15 extension levels)" );
  409.       AppStrings[129].id := msgErr300; AppStrings[129].str := y.ADR( "Parameter must be an exportable procedure or procedure variable" );
  410.       AppStrings[130].id := msgErr301; AppStrings[130].str := y.ADR( "Procedure must be paramaterless and typeless" );
  411.       AppStrings[131].id := msgErr302; AppStrings[131].str := y.ADR( "Parameter must be a procedure variable" );
  412.       AppStrings[132].id := msgErr303; AppStrings[132].str := y.ADR( "Library procedure must have a receiver parameter." );
  413.       AppStrings[133].id := msgErr304; AppStrings[133].str := y.ADR( "Library procedure receiver cannot be VAR parameter." );
  414.       AppStrings[134].id := msgErr305; AppStrings[134].str := y.ADR( "Receiver cannot be an imported type." );
  415.       AppStrings[135].id := msgErr306; AppStrings[135].str := y.ADR( "Receiver type must be a pointer type." );
  416.       AppStrings[136].id := msgErr307; AppStrings[136].str := y.ADR( "Receiver type must be a record type." );
  417.       AppStrings[137].id := msgErr308; AppStrings[137].str := y.ADR( "Receiver type must be a C pointer type." );
  418.       AppStrings[138].id := msgErr310; AppStrings[138].str := y.ADR( "Name buffer overflow" );
  419.       AppStrings[139].id := msgErr311; AppStrings[139].str := y.ADR( "Library procedure cannot be used in this manner" );
  420.       AppStrings[140].id := msgErr312; AppStrings[140].str := y.ADR( "Global variables too large to zero (> 260kB)" );
  421.       AppStrings[141].id := msgErr313; AppStrings[141].str := y.ADR( "Union type cannot have a base type" );
  422.       AppStrings[142].id := msgErr314; AppStrings[142].str := y.ADR( "Control variable of FOR loop must be an integer type" );
  423.       AppStrings[143].id := msgErr315; AppStrings[143].str := y.ADR( "Start and end values of FOR loop must be integers" );
  424.       AppStrings[144].id := msgErr316; AppStrings[144].str := y.ADR( "Step value of FOR loop must be non-zero" );
  425.       AppStrings[145].id := msgErr317; AppStrings[145].str := y.ADR( "Start, end or step value(s) too large for control variable of FOR loop" );
  426.       AppStrings[146].id := msgErr318; AppStrings[146].str := y.ADR( "Sign of step value is wrong for given start and end values." );
  427.       AppStrings[147].id := msgErr319; AppStrings[147].str := y.ADR( "ASSERT (x,n): constant x evaluates to FALSE, should be HALT (n)" );
  428.       AppStrings[148].id := msgErr320; AppStrings[148].str := y.ADR( "ASSERT (x,n): constant x evaluates to TRUE, statement is meaningless" );
  429.       AppStrings[149].id := msgErr322; AppStrings[149].str := y.ADR( "Illegal mode in array index calculation" );
  430.       AppStrings[150].id := msgErr323; AppStrings[150].str := y.ADR( "Cannot alias imported strings > 1 character" );
  431.       AppStrings[151].id := msgErr324; AppStrings[151].str := y.ADR( "Operations that modify read-only variables are not allowed" );
  432.       AppStrings[152].id := msgErr325; AppStrings[152].str := y.ADR( "Open arrays are restricted to pointer base types, element types of open arrays and formal parameter types" );
  433.       AppStrings[153].id := msgErr326; AppStrings[153].str := y.ADR( "CPointers and BPointers to open arrays are not yet implemented" );
  434.       AppStrings[154].id := msgErr327; AppStrings[154].str := y.ADR( "Control variable must be a simple variable local to the procedure or module" );
  435.       AppStrings[155].id := msgErr328; AppStrings[155].str := y.ADR( "Integer expression expected" );
  436.       AppStrings[156].id := msgErr329; AppStrings[156].str := y.ADR( "Type-bound procedure has the same name as a record field" );
  437.       AppStrings[157].id := msgErr330; AppStrings[157].str := y.ADR( "Redefined procedure must be exported" );
  438.       AppStrings[158].id := msgErr331; AppStrings[158].str := y.ADR( "Cannot assign a type-bound procedure" );
  439.       AppStrings[159].id := msgErr332; AppStrings[159].str := y.ADR( "Super-call only allowed for receiver parameter" );
  440.       AppStrings[160].id := msgErr333; AppStrings[160].str := y.ADR( "Super-call not defined for base type" );
  441.       AppStrings[161].id := msgErr334; AppStrings[161].str := y.ADR( "Module name too long (limit 26 characters)" );
  442.       AppStrings[162].id := msgErr335; AppStrings[162].str := y.ADR( "RETURN statement missing in function procedure" );
  443.       AppStrings[163].id := msgErr336; AppStrings[163].str := y.ADR( "Parameter cannot be a vararg" );
  444.       AppStrings[164].id := msgErr337; AppStrings[164].str := y.ADR( "Vararg parameter must be the last parameter" );
  445.       AppStrings[165].id := msgErr338; AppStrings[165].str := y.ADR( "Parameter does not denote a traced pointer or record type" );
  446.       AppStrings[166].id := msgErr339; AppStrings[166].str := y.ADR( "SYSTEM.NEW cannot be used to allocate this type, use NEW instead" );
  447.       AppStrings[167].id := msgErr340; AppStrings[167].str := y.ADR( "Formal parameter must include a register specification" );
  448.       AppStrings[168].id := msgErr341; AppStrings[168].str := y.ADR( "Cannot assign a foreign procedure" );
  449.       AppStrings[169].id := msgErr342; AppStrings[169].str := y.ADR( "External name (string) expected" );
  450.       AppStrings[170].id := msgErr343; AppStrings[170].str := y.ADR( "Foreign procedures and LibCalls cannot be forward declared" );
  451.       AppStrings[171].id := msgErr344; AppStrings[171].str := y.ADR( "Foreign procedure cannot be bound to a type" );
  452.       AppStrings[172].id := msgErr345; AppStrings[172].str := y.ADR( "Cannot copy open arrays when SaveAllRegs is set" );
  453.       AppStrings[173].id := msgErr346; AppStrings[173].str := y.ADR( "Illegal character in in-line command" );
  454.       AppStrings[174].id := msgErr347; AppStrings[174].str := y.ADR( "Unrecognised in-line command" );
  455.       AppStrings[175].id := msgErr348; AppStrings[175].str := y.ADR( "Pragma or option specifier [\"+\"|\"-\"] missing." );
  456.       AppStrings[176].id := msgErr349; AppStrings[176].str := y.ADR( "Pragma stack empty" );
  457.       AppStrings[177].id := msgErr350; AppStrings[177].str := y.ADR( "ELSIF, ELSE or END without matching IF" );
  458.       AppStrings[178].id := msgErr351; AppStrings[178].str := y.ADR( "Pragmas and options are not interchangeable" );
  459.       AppStrings[179].id := msgErr352; AppStrings[179].str := y.ADR( "Variable cannot be used as a base for a LibCall" );
  460.       AppStrings[180].id := msgErr353; AppStrings[180].str := y.ADR( "Illegal value for system flag" );
  461.       AppStrings[181].id := msgErr354; AppStrings[181].str := y.ADR( "Traced type cannot extend untraced type, and vice-versa" );
  462.       AppStrings[182].id := msgErr355; AppStrings[182].str := y.ADR( "Untraced record cannot contain traced fields" );
  463.       AppStrings[183].id := msgErr356; AppStrings[183].str := y.ADR( "Tagged type not allowed" );
  464.       AppStrings[184].id := msgErr357; AppStrings[184].str := y.ADR( "Options not permitted after MODULE keyword" );
  465.       AppStrings[185].id := msgErr358; AppStrings[185].str := y.ADR( "Pragma must start with '<*$'" );
  466.       AppStrings[186].id := msgErr359; AppStrings[186].str := y.ADR( "Error in inline command or pragma" );
  467.       AppStrings[187].id := msgErr900; AppStrings[187].str := y.ADR( "Not implemented yet" );
  468.       AppStrings[188].id := msgErr901; AppStrings[188].str := y.ADR( "Register parameters only allowed in LibCall procedure" );
  469.       AppStrings[189].id := msgErr902; AppStrings[189].str := y.ADR( "Illegal type for register specification" );
  470.       AppStrings[190].id := msgErr903; AppStrings[190].str := y.ADR( "Illegal register number" );
  471.       AppStrings[191].id := msgErr904; AppStrings[191].str := y.ADR( "Parameter type is too big for register" );
  472.       AppStrings[192].id := msgErr905; AppStrings[192].str := y.ADR( "LibCallSpec only allowed for library procedure" );
  473.       AppStrings[193].id := msgErr906; AppStrings[193].str := y.ADR( "Function offset must be integer" );
  474.       AppStrings[194].id := msgErr907; AppStrings[194].str := y.ADR( "Library base variable must be pointer type" );
  475.       AppStrings[195].id := msgErr915; AppStrings[195].str := y.ADR( "Language extensions not allowed when STANDARD option is OFF" );
  476.       AppStrings[196].id := msgErr916; AppStrings[196].str := y.ADR( "String constants not allowed when createObj switch is off" );
  477.       AppStrings[197].id := msgErr917; AppStrings[197].str := y.ADR( "Tagged record types not allowed when createObj switch is off" );
  478.       AppStrings[198].id := msgErr918; AppStrings[198].str := y.ADR( "Variables not allowed when createObj switch is off" );
  479.       AppStrings[199].id := msgErr919; AppStrings[199].str := y.ADR( "Procedure or module body not allowed when createObj switch is off" );
  480.       AppStrings[200].id := msgErr920; AppStrings[200].str := y.ADR( "Cannot import module with object code when createObj switch is off" );
  481.       AppStrings[201].id := msgErr922; AppStrings[201].str := y.ADR( "Too many search paths specified" );
  482.       AppStrings[202].id := msgErr923; AppStrings[202].str := y.ADR( "Feature not properly tested" );
  483.       AppStrings[203].id := msgErr924; AppStrings[203].str := y.ADR( "Underscores in identifiers not permitted when STANDARD option is on" );
  484.       AppStrings[204].id := msgErr950; AppStrings[204].str := y.ADR( "Internal error -" );
  485.       AppStrings[205].id := msgErr951; AppStrings[205].str := y.ADR( "attempt to free an unused register" );
  486.       AppStrings[206].id := msgErr952; AppStrings[206].str := y.ADR( "illegal reference type" );
  487.       AppStrings[207].id := msgErr953; AppStrings[207].str := y.ADR( "wrong number of operands for opcode" );
  488.       AppStrings[208].id := msgErr954; AppStrings[208].str := y.ADR( "address alignment error" );
  489.       AppStrings[209].id := msgErr955; AppStrings[209].str := y.ADR( "branch too large" );
  490.       AppStrings[210].id := msgErr956; AppStrings[210].str := y.ADR( "addressing mode error" );
  491.       AppStrings[211].id := msgErr957; AppStrings[211].str := y.ADR( "data size error" );
  492.       AppStrings[212].id := msgErr958; AppStrings[212].str := y.ADR( "error in operand" );
  493.       AppStrings[213].id := msgErr959; AppStrings[213].str := y.ADR( "illegal reference size specified" );
  494.       AppStrings[214].id := msgErr960; AppStrings[214].str := y.ADR( "block length must be a constant" );
  495.       AppStrings[215].id := msgErr961; AppStrings[215].str := y.ADR( "patching past end of code buffer" );
  496.       AppStrings[216].id := msgErr962; AppStrings[216].str := y.ADR( "addressing string not in constant buffer" );
  497.       AppStrings[217].id := msgErr963; AppStrings[217].str := y.ADR( "no pointer to open array descriptor" );
  498.       AppStrings[218].id := msgErr964; AppStrings[218].str := y.ADR( "reference name missing" );
  499.       AppStrings[219].id := msgErr965; AppStrings[219].str := y.ADR( "type-bound procedure missing" );
  500.       AppStrings[220].id := msgErr966; AppStrings[220].str := y.ADR( "dereferencing NIL pointer" );
  501.       AppStrings[221].id := msgErr967; AppStrings[221].str := y.ADR( "procedure return overlaps allocated registers" );
  502.       AppStrings[222].id := msgErr1000; AppStrings[222].str := y.ADR( "Internal error - unrecognised case in CASE statement:" );
  503.       AppStrings[223].id := msgErr1001; AppStrings[223].str := y.ADR( "OCS.Get" );
  504.       AppStrings[224].id := msgErr1002; AppStrings[224].str := y.ADR( "OCT.Import / CASE obj.typ.form" );
  505.       AppStrings[225].id := msgErr1003; AppStrings[225].str := y.ADR( "OCT.Import / CASE class (far inner)" );
  506.       AppStrings[226].id := msgErr1004; AppStrings[226].str := y.ADR( "OCT.Import / CASE class (inner)" );
  507.       AppStrings[227].id := msgErr1005; AppStrings[227].str := y.ADR( "OCT.Import / CASE class (outer)" );
  508.       AppStrings[228].id := msgErr1006; AppStrings[228].str := y.ADR( "OCT.OutStr" );
  509.       AppStrings[229].id := msgErr1007; AppStrings[229].str := y.ADR( "OCT.OutObj" );
  510.       AppStrings[230].id := msgErr1008; AppStrings[230].str := y.ADR( "OCC.PutArg" );
  511.       AppStrings[231].id := msgErr1009; AppStrings[231].str := y.ADR( "OCE.RealMath" );
  512.       AppStrings[232].id := msgErr1010; AppStrings[232].str := y.ADR( "OCE.MOp" );
  513.       AppStrings[233].id := msgErr1011; AppStrings[233].str := y.ADR( "OCE.CheckOverflow" );
  514.       AppStrings[234].id := msgErr1012; AppStrings[234].str := y.ADR( "OCE.Op / CASE f" );
  515.       AppStrings[235].id := msgErr1013; AppStrings[235].str := y.ADR( "OCE.Op / CASE op" );
  516.       AppStrings[236].id := msgErr1014; AppStrings[236].str := y.ADR( "OCP.StPar1" );
  517.       AppStrings[237].id := msgErr1015; AppStrings[237].str := y.ADR( "OCP.StPar2" );
  518.       AppStrings[238].id := msgErr1016; AppStrings[238].str := y.ADR( "OCH.Assign" );
  519.     END SetStrings;
  520.  
  521.   PROCEDURE CloseCatalog*();
  522.     BEGIN
  523.       IF catalog # NIL THEN lo.CloseCatalog (catalog); catalog:=NIL END;
  524.    END CloseCatalog;
  525.  
  526.   PROCEDURE OpenCatalog*(loc:lo.LocalePtr; language:ARRAY OF CHAR);
  527.     VAR Tag : ARRAY 4 OF u.TagItem;
  528.     BEGIN
  529.       CloseCatalog();
  530.       IF (catalog = NIL) & (lo.base # NIL) THEN
  531.         Tag[0].tag := lo.builtInLanguage; Tag[0].data := y.ADR( builtinlanguage );
  532.         Tag[1].tag := u.ignore;           Tag[1].data := y.ADR( language );
  533.         Tag[2].tag := lo.version;         Tag[2].data := version;
  534.         Tag[3].tag := u.done;
  535.  
  536.         IF language # "" THEN
  537.           Tag[1].tag:= lo.language;
  538.         END;
  539.         catalog := lo.OpenCatalogA (loc, "ErrorMessages.catalog", Tag);
  540.       END;
  541.     END OpenCatalog;
  542.  
  543.   PROCEDURE GetString* (num: LONGINT): e.LSTRPTR;
  544.     VAR
  545.       i: LONGINT;
  546.       default: e.LSTRPTR;
  547.     BEGIN
  548.       i := 0; WHILE (i < 239) & (AppStrings[i].id # num) DO INC (i) END;
  549.  
  550.       IF i # 239 THEN
  551.         default := AppStrings[i].str;
  552.       ELSE
  553.         default := NIL;
  554.       END;
  555.  
  556.       IF catalog # NIL THEN
  557.         RETURN lo.GetCatalogStr (catalog, num, default^);
  558.       ELSE
  559.         RETURN default;
  560.       END;
  561.     END GetString;
  562.  
  563. BEGIN
  564.   catalog := NIL;
  565.   SetStrings;
  566. END ErrorMessages.
  567.  
  568.